ProjectManagement


Intro

소프트웨어 프로젝트 실패의 원인

소프트웨어 프로젝트에서 관리해야 할 이슈


Project Management

필요성

다른 공학과의 차이점

성공적인 소프트웨어 프로젝트의 가장 중요한 요인


Management Function(관리 기능)

관리의 정의

Management Steps(관리 단계)

  1. 계획
    • 목표 이해 및 문서화
    • 스케줄, 예산 및 기타 자원 요구사항 개발
  2. 자원 확보
    • 공간, 컴퓨팅 자원, 자료 및 인적 자원
  3. 계획 실행
    • 계획을 실행에 옮기기
  4. 모니터링
    • 진행 상황 확인
    • 편차가 발생하면 어떤 액션을 할것인가

프로젝트 계획**

계획 이슈

계획에서의 예측

소프트웨어 생산성

프로젝트 계획에 필요한 것

생산성 측정 지표

기능성 정량화

LOC(Line Of Code)(라인코드수)

가장 일반적인 코드 크기 측정 두 가지:

Function Points(기능점수)

예측할 때 필요한것

Function Points 특징

현재 요구사항으로 예측하기 때문에 딱 맞는다는 보장이 없음
미래의 변경사항은 모르기 때문에
하지만 더 현실적임
1FPc132Java53

일반 소프트웨어 시스템의 기능

Pasted image 20241027223038.png

FP 분석 방법

Pasted image 20241027223318.png

  1. 프로젝트 유형 결정
  2. 대상 시스템 범위 결정
  3. 데이터 기능 식별 및 복잡성 결정
  4. 트랜잭션 기능 식별 및 복잡성 결정
  5. 비조정 FP 산출
    • 3번 + 4번
  6. 가치 조정 계수 결정
  7. 조정된 FP 산출
    • 초기 기능 점수 * 조정값

FP 분석 방법 각 단계 활동

  1. 프로젝트 유형 결정

    • 신규 프로젝트, 유지보수 프로젝트, 개선 프로젝트
  2. 대상 시스템 범위 결정

    • 전체 혹은 일부, 내부 개발, 외주, 패키지 획득
  3. 데이터 기능복잡성 식별

    • 데이터 기능 복잡성 계산 행렬
      • Pasted image 20241027232226.png
    • 데이터 기능 기여도 행렬
      • Pasted image 20241027233700.png
  4. 트랜잭션 기능 및 복잡성 식별

    • 예시: 외부 입력에 대한 복잡성 행렬
      • Pasted image 20241027232239.png
    • 외부 입력 기여도 행렬
      • Pasted image 20241027233913.png
    • 외부 입력, 외부 쿼리에 대한 복잡성 행렬
      • Pasted image 20241027233451.png
    • 외부입력, 외부 쿼리 기여도 행렬
      • Pasted image 20241027234043.png
  5. 비조정 FP 산출

    • UFP = 모든 기능에 대한 가중치 합계
      • Pasted image 20241027232507.png
  6. 가치 조정 계수(VAF) 결정

    • Pasted image 20241027234225.png
      • TDI = Total Degree of Influence
        • 총 영향 수치
  7. 조정된 FP 산출

    • Adjusted Function Point
    • **AFP = UAF * VAF **

프로그래밍 언어별 LOC와 FP

Pasted image 20241028005654.png

생산성에 영향을 미치는 기타 요인

소프트웨어 비용 추정 기법

알고리즘 기반 비용 모델링

전문가 판단

유사 추정

파킨슨 법칙

하향식 추정

상향식 추정

COCOMO 모델

제안자

기반

명목상 노력 및 일정 방정식:

개발 모드
명목상 노력
일정

Effort Multiplier(노력 배율)

Pasted image 20241028021115.png

민감도 분석

COCOMO II와 차이점

COCOMO II

3가지 모델

Pasted image 20241028022159.png


Project Control(프로젝트 제어)

이미 경험한 프로젝트 => 잘 알고있기 때문에 요구사항 분석 시간이 줄임
요구사항 분석에서 같은 퀄리티에 적게 걸리면 좋고 더 걸리
대안이 필요

프로젝트 제어 기법

WBS (작업 분할 구조)

Pasted image 20241028023547.png

WBS 목표

구조

사용되는 곳

Example of WBS

Pasted image 20241028025518.png

Gantt Chart(간트 차트)

Pasted image 20241028030128.png

구조

특징

Example of Gantt chart

Pasted image 20241028030158.png

PERT Chart(PERT CPM Chart)

활동들의 의존성 표현

현저한 특징

Dates from PERT chart

임계 경로

Kanban Board(칸반 보드)

칸반의 기원

응용 분야

Example of Kanban Boadrd

계획과의 차이점에 대한 대처

일정과 편차가 발생했을 때 관리자의 대처

팀 조직화

목표

조직 구조 종류

조직 구조 유형을 정하는 요소

조직 구조

중앙 집중형 팀

분산 제어 팀

혼합 제어(하이브리드) 팀

팀 조직의 평가

위험 관리

소프트웨어 엔지니어링에서 일반적인 위험 관리

위험 감소 방법

위험 관리 양식 예시

Pasted image 20241028135117.png

소프트웨어 엔지니어 영역에서 일반적인 위험

Pasted image 20241028135217.png

SPMP (소프트웨어 프로젝트 관리 계획) 내용

  1. 소개

    • 문서의 목적
    • 프로젝트 개요
    • 관련 문서, 용어, 약어
  2. 개발 계획

    • 자원: 인력, 비용
    • 작업 분할 구조(WBS)
    • 일정 (간트 차트)
  3. 조직

    • 팀 구조
    • 역할 및 책임
  4. 기술 관리

    • 변경 관리
    • 구성 관리
    • 기술 관리
  5. 품질 관리

    • 검토 방법
    • 검토 주기
    • 기타 품질 관리 기술
  6. 개발 환경

    • 필요한 소프트웨어 및 사양
    • 하드웨어 사양
    • 공간 및 보안
    • 기타 사항
  7. 산출물

    • 문서 정의
    • 배포 날짜와 목적지
  8. 기타

    • 고려할 문제들
  9. 참고 문헌 및 부록

문서 내용은 조직의 표준에 따라 다를 수 있음

요약 및 토론

효과적인 프로젝트 관리가 소프트웨어 품질을 개선할 수 있는가?